//
//  顺序栈.cpp
//  408数据结构
//
//  Created by Cai Yuanhao on 2022/3/26.
//

#include <stdio.h>
#define MAXSIZE 100
typedef int ElemType;

typedef struct {
    ElemType data[100];
    int top;
}SqStack;

void initStack(SqStack &s){
    s.top=-1;
}

bool isEmpty(SqStack S){
    if (S.top==-1) {
        return true;
    }
    return false;
}

bool isFull(SqStack S){
    if (S.top==MAXSIZE-1) {
        return true;
    }
    return false;
}

bool Push(SqStack &S,ElemType e){
    if (isFull(S)) {
        return  false;
    }
    S.top++;
    S.data[S.top]=e;
    return true;
}

bool Pop(SqStack &S,ElemType &e){
    if (isEmpty(S)) {
        return false;
    }
    e=S.data[S.top];
    S.top--;
    return true;
}

bool GetTop(SqStack S,ElemType &e){
    if (isEmpty(S)) {
        return false;
    }
    e=S.data[S.top];
    return true;
}










